]> dgit.raspbian.org Git - gnome-shell.git/log
gnome-shell.git
3 years agoui/main: Allow not inhibiting animations sometimes
Jonas Ådahl [Tue, 29 Nov 2022 15:33:34 +0000 (16:33 +0100)]
ui/main: Allow not inhibiting animations sometimes

When we're running in e.g. CI, or in a virtual machine without hardware
acceleration, and we actually want to enable animations despite the
potential performance implications, change the AnimationsSettings to
only inhibit if we're a XVNC instance or not hardware accelerated if
--force-animations wasn't passed.

Still inhibit animations if there is a remote desktop session that
explicitly disables animations.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2560>

3 years agoshell-global: Add 'force-animations' property
Jonas Ådahl [Tue, 29 Nov 2022 15:26:46 +0000 (16:26 +0100)]
shell-global: Add 'force-animations' property

Set via a command line argument to gnome-shell. Will allow enabling
animations despite e.g. lack of hardware acceleration otherwise
inhibiting it.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2560>

3 years agoui/main: Don't show welcome screen or root warning with perf tests
Jonas Ådahl [Mon, 28 Nov 2022 15:44:18 +0000 (16:44 +0100)]
ui/main: Don't show welcome screen or root warning with perf tests

If we want to run with the welcome screen showing, it should be done so
explicitly. Hide it if there is a perf test running for now, so that
what we test is what is expected to be tested.

We also don't want to show the root user warning, since we'll be running
as root in the CI containers.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2560>

3 years agostyling: Don't switch app icons to symbolic for HC
Jakub Steiner [Thu, 24 Nov 2022 08:27:24 +0000 (09:27 +0100)]
styling: Don't switch app icons to symbolic for HC

  While it's true that white against black has the ultimate contrast, the
  decision to switch fullcolor icons to symbolic has a few negative implications:

    * Apps identities usually lean onto colors, switching to white symbolic
      suddenly makes it harder to identify an app.
    * Many 3rd party apps don't ship a symbolic icon making the experience feel
      unpolished/"under construction".
    * Behavior is inconsistent with gtk/libadwaita.

Part of the HC polish initiative -- https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5799

Fixes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6136

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2555>

3 years agostatus/volume: Clear device menus when unsetting stream
Florian Müllner [Fri, 25 Nov 2022 16:08:51 +0000 (17:08 +0100)]
status/volume: Clear device menus when unsetting stream

Otherwise we end up accumulating devices when pipewire crashes or
is restarted.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6142

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2558>

3 years agoUpdate Belarusian translation
Vasil Pupkin [Sun, 27 Nov 2022 21:25:09 +0000 (21:25 +0000)]
Update Belarusian translation

3 years agotests: Fail on warnings too
Jonas Ådahl [Thu, 24 Nov 2022 15:29:39 +0000 (16:29 +0100)]
tests: Fail on warnings too

Getting warnings are always bad and means something is broken, we
shouldn't pass the test suite with them.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1349>

3 years agoperf-tool: Add --wrap to wrap the gnome-shell call
Jonas Ådahl [Sat, 3 Sep 2022 20:48:20 +0000 (22:48 +0200)]
perf-tool: Add --wrap to wrap the gnome-shell call

This allows neat tricks like first arranging the script `fakegdb`:

```sh

function ignore_gdb_arg() {
    if [[ "$1" == "--quiet" ]] || [[ "$1" == "--args" ]]; then
    return 1
    else
    return 0
    fi
}

ignore_gdb_arg "$1" || shift
ignore_gdb_arg "$1" || shift

echo exec "$@"
```

then running

```sh
meson test -C build -v perf-basic --test-args '--wrap "gdb --args"' --gdb --gdb-path `which fakegdb`
```

To make it possible to run the perf test case with gdb running the
actual gnome-shell.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1349>

3 years agoperf-tool: Port to argparse
Jonas Ådahl [Sat, 3 Sep 2022 20:47:32 +0000 (22:47 +0200)]
perf-tool: Port to argparse

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1349>

3 years agotests/perf: Use custom solid background in tests
Jonas Ådahl [Fri, 2 Sep 2022 22:15:51 +0000 (00:15 +0200)]
tests/perf: Use custom solid background in tests

They don't measure performance, and we don't want to have to install
gnome-backgrounds, so bundle a solid color background image to use
instead.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1349>

3 years agotests: Add test running basic perf test
Jonas Ådahl [Wed, 17 Aug 2022 14:43:13 +0000 (16:43 +0200)]
tests: Add test running basic perf test

This test runs all of GNOME Shell using the headless backend inside a
mocked D-Bus environment. The basic test tests, well, basic things, like
the panel menu, the overview, showing the app grid view, as well as
going back to the session view.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1349>

3 years agoci: Bump ci image
Jonas Ådahl [Fri, 25 Nov 2022 20:52:40 +0000 (21:52 +0100)]
ci: Bump ci image

The new one includes a newer python-dbusmock.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1349>

3 years agoshell/window-tracker: Disassociate windows on shutdown
Jonas Ådahl [Thu, 24 Nov 2022 15:27:29 +0000 (16:27 +0100)]
shell/window-tracker: Disassociate windows on shutdown

This avoids trying to deal with handling windows being unmanaged one by
one after we destroyed the ShellGlobal.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1349>

3 years agost/widget: Remove transitions when unmapped
Jonas Ådahl [Sat, 3 Sep 2022 20:50:42 +0000 (22:50 +0200)]
st/widget: Remove transitions when unmapped

This avoids having animating timelines on invisible and detached actors.
This also silences some warnings about the timeline being running
without being attached to the stage.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1349>

3 years agosearchController: Use connectObject for the stage key focus signal
Jonas Ådahl [Fri, 25 Nov 2022 17:02:34 +0000 (18:02 +0100)]
searchController: Use connectObject for the stage key focus signal

This ensures it's properly disconnected on shutdown.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1349>

3 years agomain: Prepend RPATH or RUNPATH paths to gir search paths
Jonas Ådahl [Wed, 17 Aug 2022 19:43:21 +0000 (21:43 +0200)]
main: Prepend RPATH or RUNPATH paths to gir search paths

If one wants to run tests the non-installed gnome-shell, that currently
fails as gnome-shell the executable attempts to link against
./build/src/libgnome-shell.so, but when GObject introspection tries to
find what library to link to for Shell, it goes to the installed
libgnome-shell.so, causing two different versions of libgnome-shell.so
to be loaded.

This, however, can be avoided thanks to meson adding $ORIGIN paths to
relevant libraries before installing an executable. What this means in
practice is that we can inspect ourself upon startup, discover whether
the RPATH/RUNPATH header contains $ORIGIN, and if so, expand it to the
directory containing the executable, and prepend the introspection
search paths with said directory.

This effectively means that the introspection machinery now finds the
same library that the linker linked the gnome-shell executable with,
making it run successfully.

It's not possible to use $GI_TYPELIB_PATH since
g_irepository_prepend_library_path() takes precedence. There is no
"append" variant of that API.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1349>

3 years agomain: Tear down the gjs context before the mutter context
Jonas Ådahl [Wed, 17 Aug 2022 14:32:52 +0000 (16:32 +0200)]
main: Tear down the gjs context before the mutter context

Tearing down gjs means that we won't have any dangling references kept
alive by GC or otherwise alive Javascript objects, when we finally tear
down the mutter context. This allows for a clean shutdown of GNOME
Shell.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1349>

3 years agolayout: Destroy non-adopted uiGroup actors
Jonas Ådahl [Wed, 17 Aug 2022 14:30:53 +0000 (16:30 +0200)]
layout: Destroy non-adopted uiGroup actors

Move back actors that were adopted from mutter (window_group,
top_window_group, the feedback group) from the uiGroup to the stage, and
then destroy the uiGroup. This will tear down more or less all of GNOME
Shells actors gracefully.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1349>

3 years agosignalTracker: Clear all signal trackers on shutdown
Jonas Ådahl [Wed, 17 Aug 2022 14:30:07 +0000 (16:30 +0200)]
signalTracker: Clear all signal trackers on shutdown

This avoids a lot of otherwise invalid signal handler invokations if we
would later attempt to terminate the gjs and mutter context.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1349>

3 years agomain: Notify about shutdown before tearing down
Jonas Ådahl [Wed, 17 Aug 2022 14:27:09 +0000 (16:27 +0200)]
main: Notify about shutdown before tearing down

This will allow the shell to tear things down more gracefully.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1349>

3 years agoshell-global: Get backend from context
Jonas Ådahl [Wed, 17 Aug 2022 14:26:14 +0000 (16:26 +0200)]
shell-global: Get backend from context

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1349>

3 years agoshell-global: Add MetaContext getter
Jonas Ådahl [Wed, 17 Aug 2022 14:25:31 +0000 (16:25 +0200)]
shell-global: Add MetaContext getter

Start to use it instead of using g_object_get().

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1349>

3 years agoappDisplay: Don't have goToPage clamp to negative page index
Jonas Ådahl [Thu, 18 Aug 2022 19:34:41 +0000 (21:34 +0200)]
appDisplay: Don't have goToPage clamp to negative page index

The nPages property can be 0, which is the case in a stripped down CI
image without a single app to be listed, which means we can't clamp to
`nPages - 1`, since that'll give us a negative index and the following
error:

(gnome-shell:266): Gjs-CRITICAL **: 16:48:56.633: JS ERROR: Error: Page -2 does not exist at IconGrid
getItemsAtPage@resource:///org/gnome/shell/ui/iconGrid.js:1383:19
_translatePreviousPageIcons@resource:///org/gnome/shell/ui/appDisplay.js:323:34
_syncPageIndicators@resource:///org/gnome/shell/ui/appDisplay.js:396:14
goToPage@resource:///org/gnome/shell/ui/appDisplay.js:445:14
goToPage@resource:///org/gnome/shell/ui/appDisplay.js:1236:29
goToPage@resource:///org/gnome/shell/ui/appDisplay.js:1582:15
_init/<@resource:///org/gnome/shell/ui/appDisplay.js:499:18
_init/pagesChangedId<@resource:///org/gnome/shell/ui/iconGrid.js:1137:24
_removePage@resource:///org/gnome/shell/ui/iconGrid.js:454:14
_removeItemData@resource:///org/gnome/shell/ui/iconGrid.js:495:18
moveItem@resource:///org/gnome/shell/ui/iconGrid.js:854:14
moveItem@resource:///org/gnome/shell/ui/iconGrid.js:1277:29
_moveItem@resource:///org/gnome/shell/ui/appDisplay.js:1194:20
_redisplay/<@resource:///org/gnome/shell/ui/appDisplay.js:1085:22
_redisplay@resource:///org/gnome/shell/ui/appDisplay.js:1080:17
_redisplay@resource:///org/gnome/shell/ui/appDisplay.js:1370:15
_init/<@resource:///org/gnome/shell/ui/appDisplay.js:633:24
_initializeManager@resource:///org/gnome/shell/misc/parentalControlsManager.js:95:14
async*_init@resource:///org/gnome/shell/misc/parentalControlsManager.js:63:14
ParentalControlsManager@resource:///org/gnome/shell/misc/parentalControlsManager.js:55:4
getDefault@resource:///org/gnome/shell/misc/parentalControlsManager.js:42:22
start@resource:///org/gnome/shell/ui/main.js:184:29
@resource:///org/gnome/shell/ui/init.js:6:17

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1349>

3 years agocalendar: Unbind settings when destroying
Jonas Ådahl [Wed, 17 Aug 2022 13:53:45 +0000 (15:53 +0200)]
calendar: Unbind settings when destroying

Running dispose on the setting causes issues when we're being destroyed,
as the signal handler in the GSettings binding will be cleared by the
GObject itself before it has the chance, resulting in warnings.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1349>

3 years agodialog: Remove incorrect disconnectObject()
Jonas Ådahl [Mon, 15 Aug 2022 16:23:27 +0000 (18:23 +0200)]
dialog: Remove incorrect disconnectObject()

It was added, as there was a previous signal disconnect in this
function, but it happened to be dead code, and the disconnectObject()
call was added in error. Remove it.

Fixes: 26235bbe5433c48b81bd3917aaf9ef14ff1929b2
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1349>

3 years agotests: Add dbus runner
Jonas Ådahl [Tue, 16 Aug 2022 11:04:27 +0000 (13:04 +0200)]
tests: Add dbus runner

This adds a dbus-runner ala meta-dbus-runner.py. It extends the one used
in mutter, and adds various mocked services needed by gnome-shell.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1349>

3 years agotests: Add accounts_service mock service
Jonas Ådahl [Tue, 16 Aug 2022 11:02:58 +0000 (13:02 +0200)]
tests: Add accounts_service mock service

This is a shrunk copy of the accounts_service.py service previously
found in upstream python-dbusmock. It also adds parental control
properties to make GNOME Shell happy.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1349>

3 years agoscripting: Terminate using meta_context_terminate()
Jonas Ådahl [Tue, 16 Aug 2022 10:47:55 +0000 (12:47 +0200)]
scripting: Terminate using meta_context_terminate()

With meta_exit() we bypass the tear down procedures, making the test
case excercising much less code paths. Use meta_context_terminate()
instead, as that exits the main loop and goes through proper shutdown.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1349>

3 years agoscripting: Exit helper after running test
Jonas Ådahl [Tue, 16 Aug 2022 10:40:57 +0000 (12:40 +0200)]
scripting: Exit helper after running test

This avoids the helper process exiting with an error due to a broken
pipe.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1349>

3 years agoperf/basic: Toggle quick settings instead of old menu
Jonas Ådahl [Tue, 16 Aug 2022 10:40:34 +0000 (12:40 +0200)]
perf/basic: Toggle quick settings instead of old menu

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1349>

3 years agoperf-tool: Add --headless
Jonas Ådahl [Tue, 16 Mar 2021 09:30:20 +0000 (10:30 +0100)]
perf-tool: Add --headless

This will use the headless mode of the native backend, and create a
1280x720 virtual monitor, for running the perf test in.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1349>

3 years agoperf-tool: Only 'restore' gnome-shell if run with --replace
Jonas Ådahl [Tue, 16 Mar 2021 09:29:36 +0000 (10:29 +0100)]
perf-tool: Only 'restore' gnome-shell if run with --replace

Otherwise the perf tool will fork and spawn a gnome-shell process
that'll just go and fail.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1349>

3 years agoperf/basic: Add some helpful logging
Jonas Ådahl [Tue, 16 Mar 2021 09:27:46 +0000 (10:27 +0100)]
perf/basic: Add some helpful logging

This is purely to see that things are happening when running this test.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1349>

3 years agooverview: Start animation after setting coverPane initial state
Alessandro Bono [Sun, 6 Nov 2022 11:17:15 +0000 (12:17 +0100)]
overview: Start animation after setting coverPane initial state

Since commit 7bd98f3f5fb7e0d1220646b8a4ee7073534a8e8f the onComplete callback
is called right away when animations are disabled. As side effect, now
this._coverPane gets shown/hidden in the wrong order. Start the animation after
setting this._coverPane initial state, so that the animation callback can set the
this._coverPane final state without it being overwritten later.

Move the animation also after emitting the showing and hiding signals. So that the
order showing -> shown and hiding -> hidden is still preserved when animations are
disabled.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6096
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2532>

3 years agooverview: Make preparation to enter/leave overview explicit
Alessandro Bono [Mon, 21 Nov 2022 11:39:19 +0000 (12:39 +0100)]
overview: Make preparation to enter/leave overview explicit

This give us more control on when the preparation happens and will be
used in the subsequent commit.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2532>

3 years agooverviewControls: Group prepare to enter/leave overview code
Alessandro Bono [Mon, 21 Nov 2022 11:32:05 +0000 (12:32 +0100)]
overviewControls: Group prepare to enter/leave overview code

Move preparation code into their own functions. These functions will be used
in order to separate the animation control into two steps.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2532>

3 years agokeyboard: Change osk menu entry to control-center keyboard pane
Roshan-R [Thu, 24 Nov 2022 04:44:19 +0000 (10:14 +0530)]
keyboard: Change osk menu entry to control-center keyboard pane

Currenty, the osk settings popup has the menu entry of "Region and
Language settings" which should be changed to the "Keyboard" pane
instead as input source configuration is done there.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6134

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2554>

3 years agostyle: High Contrast improvments
Sam Hewitt [Thu, 3 Nov 2022 15:28:24 +0000 (12:58 -0230)]
style: High Contrast improvments

- rework the entry style to work in both hc and normal
- rework drawing functions to accommodate hc
- buttons all get borders under hc now
- window picker titles are more legible
- alt+tab switcher tiles are visible
- dash is made more visible under hc
- popover menus are all more visible under hc
- search results borders are improved
- calendar days have a different look under hc
- overview bg is completely black in hc

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2527>

3 years agoUpdate Slovak translation
Dušan Kazik [Tue, 22 Nov 2022 22:09:01 +0000 (22:09 +0000)]
Update Slovak translation

(cherry picked from commit e68d987d9a9a54a47cdd88b00ca58640de4a9336)

3 years agooverview: Don't block on wayland popovers
Florian Müllner [Fri, 18 Nov 2022 22:57:03 +0000 (23:57 +0100)]
overview: Don't block on wayland popovers

We don't allow entering the overview when there's an ongoing grab
operation, as they are generally incompatible with ClutterGrab.

The exception are wayland popups which are expected to work, and
don't conflict with ClutterGrabs.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6092

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2549>

3 years agoinhibitShorcutsDialog: Fix permission check
Florian Müllner [Fri, 18 Nov 2022 21:40:31 +0000 (22:40 +0100)]
inhibitShorcutsDialog: Fix permission check

Each permission entry is an array of strings, so checking that against
the expected string itself will always fail.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6107

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2548>

3 years agoaccessDialog: Change fallback button labels
Alessandro Bono [Wed, 16 Nov 2022 09:10:37 +0000 (10:10 +0100)]
accessDialog: Change fallback button labels

All the new portals dialog mockups have "Deny/Allow" buttons. Rename them.

https://gitlab.gnome.org/Teams/Design/os-mockups/-/blob/master/portals/portals.png

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2544>

3 years agostatus/remoteAccess: Don't override existing style classes
Florian Müllner [Fri, 18 Nov 2022 17:50:43 +0000 (18:50 +0100)]
status/remoteAccess: Don't override existing style classes

The indicator needs special styling for the color, but we still
want it to pick shared 'system-status-icon' styling like the
icon size.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6008

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2547>

3 years agodata: Remove unused overrides schema
Florian Müllner [Wed, 19 Oct 2022 13:13:32 +0000 (15:13 +0200)]
data: Remove unused overrides schema

The old custom overrides mechanism was superseded by
session-specific defaults back in 2018. By now any
potential consumers (like gnome-tweaks) should have
adjusted, so time to remove it.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2517>

3 years agolayout: Initialize regions unconditionally
Florian Müllner [Thu, 17 Nov 2022 14:21:42 +0000 (15:21 +0100)]
layout: Initialize regions unconditionally

We currently initialize regions in all code paths except for the
greeter. But while there are no windows on the login screen, the
work area can still be used for positioning, for example for
notifications.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2546>

3 years agostatus/network: Fix handling portal result
Florian Müllner [Fri, 11 Nov 2022 14:35:12 +0000 (15:35 +0100)]
status/network: Fix handling portal result

Commit 637ee7386e accidentally dropped all parameters from the
method invocation when changing a .bind() handler to an arrow
function.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2545>

3 years agostatus/network: Fix name of initially hidden devices
Florian Müllner [Fri, 4 Nov 2022 18:53:57 +0000 (19:53 +0100)]
status/network: Fix name of initially hidden devices

We assign (disambiguated) device names every time a device is added
or removed, and store the name on the corresponding menu item.

However menu items are only created when the device should be shown,
not necessarily when it is added (unplugged ethernet cable, ongoing
initialization, ...).

Fix this by tracking device names separately from device items, and
set the name on newly created items.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6040

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2529>

3 years agokeyboard: Ensure completion is disabled when OSK is destroyed
Carlos Garnacho [Wed, 16 Nov 2022 12:26:44 +0000 (13:26 +0100)]
keyboard: Ensure completion is disabled when OSK is destroyed

If the OSK is destroyed while visible without being close()'d first,
the completion mode might remain turned on. Ensure it is turned off
on OSK destruction so that typing-booster has no chance to remain
turned on.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2543>

3 years agokeyboard: Disconnect from InputMethod::terminal-mode-changed on destruction
Carlos Garnacho [Wed, 16 Nov 2022 10:42:46 +0000 (11:42 +0100)]
keyboard: Disconnect from InputMethod::terminal-mode-changed on destruction

The OSK may be created and destroyed, while it connects to signals from the
longer-lived InputMethod object. This makes these signals linger and issue
copious warnings while trying to change the extended keymap and new ratio
on a defunct OSK.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6085
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2543>

3 years agokeyboard: Bind emoji pager visibility to swipeTracker enabled state
Carlos Garnacho [Wed, 16 Nov 2022 10:41:36 +0000 (11:41 +0100)]
keyboard: Bind emoji pager visibility to swipeTracker enabled state

The swipeTracker may connect gestures on the stage, so we might end up
in the odd situation that the swipeTracker is handling events for an
invisible actor. Avoid doing this.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2543>

3 years agokeyboard: Explicitly destroy swipeTracker after emoji panel destruction
Carlos Garnacho [Wed, 16 Nov 2022 10:22:18 +0000 (11:22 +0100)]
keyboard: Explicitly destroy swipeTracker after emoji panel destruction

Even though the emoji panel may be destroyed with the OSK, the swipeTracker
that is set up to navigate between pages is left lingering, and handling
events for some gestures in the stage. This results in warnings like:

  JS ERROR: TypeError: this._panel is null
  set delta@resource:///org/gnome/shell/ui/keyboard.js:720:9
  _onSwipeUpdate@resource:///org/gnome/shell/ui/keyboard.js:750:22
  _updateGesture@resource:///org/gnome/shell/ui/swipeTracker.js:670:14
  vfunc_gesture_progress@resource:///org/gnome/shell/ui/swipeTracker.js:288>

on touch interaction after the OSK was shown and dismissed. In order to fix
this, issue explicit destruction of the swipeTracker when the emoji pager
actor is destroyed.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2543>

3 years agoappDisplay: Connect to hidden signal after content initialization
Alessandro Bono [Fri, 11 Nov 2022 10:47:16 +0000 (11:47 +0100)]
appDisplay: Connect to hidden signal after content initialization

When the overview is hidden just after starting GNOME Shell the app
grid is not populated yet. Thus, this._grid.nPages is 0. When the
overview is about to be hidden, we call goToPage(0) on the AppGrid.
This results in pageNumber being clamped to -1 and leads to the
following exception:

```
JS ERROR: Exception in callback for signal: hidden: Error: Page -2 does not exist at IconGrid
getItemsAtPage@resource:///org/gnome/shell/ui/iconGrid.js:1383:19
_translatePreviousPageIcons@resource:///org/gnome/shell/ui/appDisplay.js:323:34
_syncPageIndicators@resource:///org/gnome/shell/ui/appDisplay.js:396:14
goToPage@resource:///org/gnome/shell/ui/appDisplay.js:445:14
goToPage@resource:///org/gnome/shell/ui/appDisplay.js:1237:29
goToPage@resource:///org/gnome/shell/ui/appDisplay.js:1584:15
_init/<@resource:///org/gnome/shell/ui/appDisplay.js:1328:52
_emit@resource:///org/gnome/gjs/modules/core/_signals.js:89:42
_hideDone@resource:///org/gnome/shell/ui/overview.js:589:18
_animateNotVisible/<@resource:///org/gnome/shell/ui/overview.js:566:55
onStopped@resource:///org/gnome/shell/ui/overviewControls.js:753:21
_makeEaseCallback/<@resource:///org/gnome/shell/ui/environment.js:150:22
_easeActorProperty/<@resource:///org/gnome/shell/ui/environment.js:316:60
```

Connect to the overview hidden signal only after initializing the
AppDisplay content, so that goToPage(0) is not called when there
is no page yet.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5837
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2536>

3 years agoquickSettings: Make parent StWidget have a 0x0 size
Carlos Garnacho [Thu, 10 Nov 2022 11:06:36 +0000 (12:06 +0100)]
quickSettings: Make parent StWidget have a 0x0 size

The quick settings menu is child of an actor at 0,0 coordinates,
simply transformed to look in place. However the parent actor stays
at 0,0, and gets a width/height that is able to contain the child
menu (even though the transform will push it outside the parent
actor).

This makes the parent actor (not meant to handle pointer/touch
input) to cover parts of the shell. Since this actor is also where
the Clutter grab happens, the menu is not dismissed either.

Make this parent actor have a 0x0 size, so that it can still act
as the parent for the quick settings menu, but does not actually
cover any area. This makes clicks around the top left corner work
again while the quick settings menu is opened.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5887
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2535>

3 years agowindowManager: Get the active workspace index directly
Alessandro Bono [Fri, 11 Nov 2022 19:39:58 +0000 (20:39 +0100)]
windowManager: Get the active workspace index directly

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2540>

3 years agoUpdate Russian translation
Aleksandr Melman [Sun, 13 Nov 2022 14:43:34 +0000 (14:43 +0000)]
Update Russian translation

3 years agoscreenshot: Cache ScreencastSupported property
Florian Müllner [Sun, 6 Nov 2022 12:06:44 +0000 (13:06 +0100)]
screenshot: Cache ScreencastSupported property

The screencast service shuts down when not in use, so it is almost
certainly not running when handling the screencast shortcut.

Instead of making sure the service is restarted, just cache the
property when initializing the proxy.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2533>

3 years agodbusService/screencast: Hold during gstreamer checks
Florian Müllner [Sun, 6 Nov 2022 10:56:41 +0000 (11:56 +0100)]
dbusService/screencast: Hold during gstreamer checks

Some gstreamer plugins require a connection to the display server,
so they block until the server is up and running. That's why we
moved the check into the D-Bus service, so that the blocking would
not lock up the compositor itself.

However the block can still delay the service initialization so
much that auto-shutdown hits immediately when returning from the
constructor. If that happens, the proxy on the shell side is no
longer backed by a remote object when the init callback runs, and
all properties therefore resolve as `null`.

As a result, gnome-shell thinks that screencasts aren't supported
and hides the screencast button.

Fix this by holding the service during the gstreamer checks, so
that the auto-shutdown timeout only starts after the service is
ready.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6051

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2533>

4 years agoUpdate Hungarian translation
Balázs Úr [Sat, 5 Nov 2022 22:05:56 +0000 (22:05 +0000)]
Update Hungarian translation

4 years agosystemActions: Add poweroff without space
Colin Kinloch [Wed, 26 Oct 2022 11:41:20 +0000 (12:41 +0100)]
systemActions: Add poweroff without space

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2523>

4 years agoUpdate Ukrainian translation
Yuri Chornoivan [Fri, 4 Nov 2022 14:45:42 +0000 (14:45 +0000)]
Update Ukrainian translation

4 years agodarkMode: Update string to "Dark Style"
Cassidy James Blaede [Mon, 26 Sep 2022 21:38:42 +0000 (21:38 +0000)]
darkMode: Update string to "Dark Style"

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2499>

4 years agoenvironment: Set time zero when animations are disabled
Alessandro Bono [Mon, 24 Oct 2022 07:37:27 +0000 (09:37 +0200)]
environment: Set time zero when animations are disabled

In commit ee09c5c85312f571e14abe69bb6674a361c16d65 we chose to pick
the minimum value in order to preserve 0 instead of replacing it with
1. While returning 0 unconditionally when animations are disabled
seems the more logic thing to do, we were unsure about possible side
effects. Do the change now. Since we are early in the development cycle
we should be able to deal with side effects (if any) on time for the
next release.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2528>

4 years agoBump version to 43.1
Florian Müllner [Sat, 22 Oct 2022 16:05:59 +0000 (18:05 +0200)]
Bump version to 43.1

Update NEWS.

4 years agodbusServices/screencast: Check for all require elements
Florian Müllner [Mon, 24 Oct 2022 12:01:03 +0000 (14:01 +0200)]
dbusServices/screencast: Check for all require elements

Instead of assuming that gst-plugins-good has been compiled with
all the plugins we need enabled, explicitly check for the ones
we use.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5710

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2519>

4 years agoscreenshot: Move HAVE_RECORDER check into screencast service
Florian Müllner [Wed, 19 Oct 2022 10:43:29 +0000 (12:43 +0200)]
screenshot: Move HAVE_RECORDER check into screencast service

Some gstreamer plugins require a connection to the display server,
so if we end up initializing gstreamer before we are ourselves
fully initialized, we may end up with a locked compositor.

Avoid this by moving the runtime recorder check into the screencast
D-Bus service, so that all gstreamer calls happen out of process.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5710

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2519>

4 years agoconfig: Check for correct Gst element
Florian Müllner [Mon, 24 Oct 2022 12:09:20 +0000 (14:09 +0200)]
config: Check for correct Gst element

We use filesink, not filesrc ...

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5710

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2519>

4 years agojs/portal-resources: Add missing fileUtils to js path
Marco Trevisan (Treviño) [Tue, 1 Nov 2022 11:26:31 +0000 (12:26 +0100)]
js/portal-resources: Add missing fileUtils to js path

gnome-shell-portal-helper was failing with:

  (gnome-shell-portal-helper:646052): Gjs-CRITICAL **: 12:24:30.852:
    JS ERROR: ImportError: No JS module 'fileUtils' found in search path
    @resource:///org/gnome/shell/portalHelper/main.js:13:30
    @<main>:1:14

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6020
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2524>

4 years agoUpdate Dutch translation
Nathan Follens [Tue, 1 Nov 2022 22:31:07 +0000 (22:31 +0000)]
Update Dutch translation

4 years agoUpdate Abkhazian translation
Nart Tlisha [Mon, 31 Oct 2022 10:00:37 +0000 (10:00 +0000)]
Update Abkhazian translation

4 years agoinputMethod: Manually reset input context state before unfocus
Carlos Garnacho [Mon, 17 Oct 2022 11:34:21 +0000 (13:34 +0200)]
inputMethod: Manually reset input context state before unfocus

The IBusInputContext currently seems to be a bit sloppy wrt propagating
the current state to engines after those are changed, this results in
engines possibly ending with purpose/hint/etc that do not actually
correspond to the current state.

Ensure this state is cleared on unfocus of our IBusInputContext, so
that the next time the input method receives an input focus, the new
state makes it all the way to the currently active engine.

Fixes situations in the GDM/lock screen password entry that IBus
would miss the PASSWORD hint set on the StEntry, and let passwords
be fed to engines.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5966
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2512>

4 years agoibusManager: Make more resilient to completion/engine independent changes
Carlos Garnacho [Mon, 17 Oct 2022 13:55:11 +0000 (15:55 +0200)]
ibusManager: Make more resilient to completion/engine independent changes

Besides user interaction, there's two users of IBusManager.setEngine():

- The code that toggles all IBus engines off on entries with PASSWORD
  purpose.
- The code that toggles completion support on OSK presence.

These are currently pretty oblivious to each other. Make this
interaction more resilient by making all external IBusManager changes
more cautious about directly changing the engine, and revoke properly
the completion mode if it needs be (e.g. changing to a non-XKB engine).

But another notable change is that ibus-typing-booster is now preferred
always, over PASSWORD purpose hints. This is done to avoid possible
doubled attempts to change the current engine (and ensuing IBusInputContext
confusion).

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2512>

4 years agokeyboard: Synchronize input method state after toggling completion
Carlos Garnacho [Mon, 17 Oct 2022 11:31:45 +0000 (13:31 +0200)]
keyboard: Synchronize input method state after toggling completion

Make the input method synchronize its state after the engine changes
resulting from completion being toggled.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2512>

4 years agoinputMethod: Cache cursor rectangle
Carlos Garnacho [Mon, 17 Oct 2022 11:30:40 +0000 (13:30 +0200)]
inputMethod: Cache cursor rectangle

This may need to be synchronized in other places, so keep
the rectangle around.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2512>

4 years agoibusManager: Allow passing callbacks after enabling/disabling completion
Carlos Garnacho [Mon, 17 Oct 2022 11:29:10 +0000 (13:29 +0200)]
ibusManager: Allow passing callbacks after enabling/disabling completion

Since this is an async operation, we may want to let some things happen
after the engine is changed due to completion being enabled/disabled.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2512>

4 years agoUpdate Friulian translation
Fabio Tomat [Tue, 25 Oct 2022 00:42:07 +0000 (00:42 +0000)]
Update Friulian translation

4 years agoUpdate Greek translation
Kosmas Martakidis [Sat, 22 Oct 2022 15:25:11 +0000 (15:25 +0000)]
Update Greek translation

4 years agoscreencast: Don't force buffer copies on recent gstreamer versions
Sebastian Keller [Wed, 5 Oct 2022 22:20:16 +0000 (00:20 +0200)]
screencast: Don't force buffer copies on recent gstreamer versions

Gstreamer 1.20.4 includes a fix in the videoconvert element that makes
it no longer necessary to always copy buffers in pipewiresrc to have
smooth recordings. This change now skips those otherwise unnecessary
copies when using a new enough videoconvert.

Related: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2928
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2503>

4 years agopowerProfiles: Avoid warnings on missing power-profiles-daemon
Florian Müllner [Thu, 20 Oct 2022 11:04:18 +0000 (13:04 +0200)]
powerProfiles: Avoid warnings on missing power-profiles-daemon

GDBusProxy transparently handles the remote object appearing and
vanishing. It is therefore not an error if the service is not
running at the time the proxy is initialized, so we proceed and
try to read the list of profiles which is null in that case,
resulting in (harmless but annoying) warnings.

Avoid this by only reading the initial list of profiles if the
service has a name owner.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5992

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2518>

4 years agocss/quick-settings: Update icon-button styles
Sam Hewitt [Thu, 13 Oct 2022 16:51:17 +0000 (14:21 -0230)]
css/quick-settings: Update icon-button styles

- add an entire flat style to button drawing function
- clean up the icon button css in quick settings
- adjust padding in QS sliders
- fixes #5918

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2510>

4 years agoinputMethod: Check return value when letting IM handle virtual keys
Carlos Garnacho [Tue, 11 Oct 2022 16:24:15 +0000 (18:24 +0200)]
inputMethod: Check return value when letting IM handle virtual keys

When propagating keys from the OSK, we usually feed these directly to
the IBusInputContext and let the IM handle the effects of this virtual
key event (which may also include feeding a key event back to us).

But these functions may also return a FALSE value if the key was "let
through" by the IM, which means the ball is in our yard again, and
we are responsible of letting this event get to its destination.

If that happens, just fall through, so the string is committed to
the client as an UTF-8 string, or propagated through keyboard events.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5930
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2508>

4 years agokeyboard: Refactor code
Carlos Garnacho [Tue, 11 Oct 2022 16:23:19 +0000 (18:23 +0200)]
keyboard: Refactor code

Move inline anonymous function to be its own. This method
will become asynchronous in following commits.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2508>

4 years agoshell/app-system: Retrack windows if necessary
Florian Müllner [Fri, 9 Sep 2022 16:25:22 +0000 (18:25 +0200)]
shell/app-system: Retrack windows if necessary

We currently don't update running apps when the set of installed
apps changes. However we should, as the change could mean that

 - the app got uninstalled, and the running app should become
   window-backed

 - a newly installed app got launched before the app cache was
   updated, and we replace the window-backed fallback with the
   proper app

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5664

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2480>

4 years agostatus: Ignore prior single-element lists updating input sources MRU
Carlos Garnacho [Mon, 19 Sep 2022 20:35:15 +0000 (22:35 +0200)]
status: Ignore prior single-element lists updating input sources MRU

Consider the existing input sources MRU only valid if it contained
more than one element to pick from. Fixes the following situation
with initial-setup sessions:

- Initial setup Session starts, with several input sources already
  configured ("us" between them)
- InputSourceManager initializes, only the default "us" keymap is
  available
- MRU list is constructed, "us" is picked
- InputSourceManager catches up with session configuration, the
  other extra sources are added
- MRU list is reconstructed, "us" is already the most recent
- Session ends up with "us" picked, regardless of its position in
  the list, and no MRU existing prior to startup

If we consider the intermediate single-element MRU list invalid,
it is still possible to pick the best default source between all
the configured ones (the one that was put first in the list,
basically), after initialization is complete.

But also, it is unnecessary to have if there is a single source to
pick from. After the sources list has two elements or more, the
MRU list will become effective and preserved during changes to
the available sources.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5873
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2495>

4 years agoaltTab: Always include label in thumbnail
Florian Müllner [Mon, 12 Sep 2022 14:44:27 +0000 (16:44 +0200)]
altTab: Always include label in thumbnail

We currently special-case the no-window-title case when creating
items, but not when accessing labels later, for example during
allocation.

The easiest option it to create the label unconditionally, so do
that.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5851

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2483>

4 years agocss: Tidy up the card style
Sam Hewitt [Mon, 17 Oct 2022 16:13:46 +0000 (13:43 -0230)]
css: Tidy up the card style

- remove the drop shadow
- clean up mixin references

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2513>

4 years agoUpdate Punjabi translation
A S Alam [Mon, 17 Oct 2022 00:10:50 +0000 (00:10 +0000)]
Update Punjabi translation

4 years agoenvironment: Preserve time 0 when animations are disabled
Alessandro Bono [Fri, 14 Oct 2022 22:16:16 +0000 (00:16 +0200)]
environment: Preserve time 0 when animations are disabled

There are cases where the animation time is set to 0 on purpose
in order to not animate. When animations are disabled via
/org/gnome/desktop/interface/enable-animations those animation
times are increased from 0 to 1. This makes the "Caps lock is on."
message appear unconditionally in the lockscreen for a brief moment.

Select the minimum between the two values. So that an animation time
0 is preserved instead of being replaced by 1.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2471>

4 years agoshellEntry: Remove unused variable
Alessandro Bono [Mon, 5 Sep 2022 17:10:54 +0000 (19:10 +0200)]
shellEntry: Remove unused variable

Unused since 26235bbe5433c48b81bd3917aaf9ef14ff1929b2.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2471>

4 years agoinputMethod: Also forward TERMINAL input purpose
Jonas Ådahl [Fri, 14 Oct 2022 19:41:00 +0000 (21:41 +0200)]
inputMethod: Also forward TERMINAL input purpose

It was added relatively recently (1.5.24), so check if it exists first.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5958
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2511>

4 years agoUpdate Georgian translation
Zurab Kargareteli [Thu, 6 Oct 2022 21:22:36 +0000 (21:22 +0000)]
Update Georgian translation

4 years agoinhibitShortcutsDialog: Don't override resource
Florian Müllner [Thu, 6 Oct 2022 12:30:20 +0000 (14:30 +0200)]
inhibitShortcutsDialog: Don't override resource

PermissionStore's Set() method takes a complete permission
table, so when setting an app's permission, we are implicitly
removing all previously set entries for other apps.

Switch to the SetPermission() method which sets the permission
for a single app.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5937

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2504>

4 years agostatus/volume: Include origin in device names
Florian Müllner [Mon, 3 Oct 2022 16:30:13 +0000 (18:30 +0200)]
status/volume: Include origin in device names

The description alone may not be descriptive enough, so include
the origin (if available) to disambiguate the name.

This is consistent with the Sound Settings panel.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5829

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2502>

4 years agoUpdate Bulgarian translation
Alexander Shopov [Sun, 2 Oct 2022 16:34:31 +0000 (16:34 +0000)]
Update Bulgarian translation

4 years agoUpdate Chinese (Taiwan) translation
Cheng-Chia Tseng [Sat, 1 Oct 2022 07:56:37 +0000 (07:56 +0000)]
Update Chinese (Taiwan) translation

4 years agoUpdate Abkhazian translation
Nart Tlisha [Thu, 29 Sep 2022 15:31:12 +0000 (15:31 +0000)]
Update Abkhazian translation

4 years agoUpdate Ukrainian translation
Olexander [Wed, 28 Sep 2022 16:28:27 +0000 (16:28 +0000)]
Update Ukrainian translation

4 years agoUpdate Friulian translation
Fabio Tomat [Tue, 27 Sep 2022 11:20:41 +0000 (11:20 +0000)]
Update Friulian translation

4 years agoUpdate Slovak translation
Dušan Kazik [Tue, 27 Sep 2022 06:49:32 +0000 (06:49 +0000)]
Update Slovak translation

4 years agoUpdate Persian translation
Danial Behzadi [Tue, 20 Sep 2022 10:04:56 +0000 (10:04 +0000)]
Update Persian translation

4 years agoUpdate Catalan translation
Jordi Mas [Tue, 20 Sep 2022 05:16:44 +0000 (07:16 +0200)]
Update Catalan translation